#ifndef _TOOLBACKUPINFO_H
#define _TOOLBACKUPINFO_H

#ifdef SECUREAUTOBACKUP_EXPORTS
#define SECUREAUTOBACKUP_API __declspec(dllexport)
#else
#define SECUREAUTOBACKUP_API __declspec(dllimport)
#endif

#include <list>
#include <msxml.h>
#import "msxml6.dll"

#include "BackupInfo.h"

#define BACKUP_RECORD_ROOT_NODE _T("listInfo")
#define BACKUP_RECORD_NODE_BACKUP_NAME _T("backupName")
#define BACKUP_RECORD_NODE_BACKUP_TYPE _T("backupType")
#define BACKUP_RECORD_NODE_BACKUP_TIME _T("backupTime")
#define BACKUP_RECORD_NODE_BACKUP_FILE_AMOUNT _T("backupfileAmmount")
#define BACKUP_RECORD_NODE_BACKUP_FILE_SIZE _T("backupfileSize")
#define BACKUP_RECORD_NODE_DEPENDED_BACKUP _T("dependedBackup")
#define BACKUP_RECORD_NODE_BACKUP_UNIT _T("backupUnit")
#define BACKUP_RECORD_NODE_ENCRYPY _T("encrypt")
#define BACKUP_RECORD_NODE_HIDE _T("hide")
#define BACKUP_RECORD_NODE_AUTOSEP _T("autosep")

extern "C" {

SECUREAUTOBACKUP_API BOOL LoadFullBackupInfoList(CString path, std::list<BackupInfo>& list);

SECUREAUTOBACKUP_API BOOL LoadIncBackupInfoList(CString path, std::list<BackupInfo>& list);

SECUREAUTOBACKUP_API BOOL LoadDifBackupInfoList(CString path, std::list<BackupInfo>& list);

SECUREAUTOBACKUP_API BOOL LoadDifIncBackupInfoList(CString path, std::list<BackupInfo>& list);

SECUREAUTOBACKUP_API BSTR GetStrNodeFromBackupRecord(CString nodeName,CComPtr<MSXML2::IXMLDOMDocument> spDoc, HRESULT hr, CString Node= BACKUP_RECORD_ROOT_NODE);

//SECUREAUTOBACKUP_API BOOL GetBoolNodeFromBackupRecord(BackupInfo *backupInfo,CString nodeName,CComPtr<MSXML2::IXMLDOMDocument> spDoc, HRESULT hr, CString Node= BACKUP_RECORD_ROOT_NODE);

}

#endif